O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
-12(I1(x), I1(y)) -> O11(-2(x, y))
SIZE1(N3(x, l, r)) -> +12(Size1(l), Size1(r))
+12(O1(x), I1(y)) -> +12(x, y)
+12(I1(x), O1(y)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
BS11(N3(x, l, r)) -> AND2(ge2(x, Max1(l)), ge2(Min1(r), x))
BS11(N3(x, l, r)) -> MAX1(l)
WB11(N3(x, l, r)) -> GE2(Size1(l), Size1(r))
GE2(0, O1(x)) -> GE2(0, x)
SIZE1(N3(x, l, r)) -> SIZE1(l)
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
WB11(N3(x, l, r)) -> AND2(WB1(l), WB1(r))
GE2(I1(x), I1(y)) -> GE2(x, y)
LOG'1(O1(x)) -> +12(Log'1(x), I1(0))
GE2(I1(x), O1(y)) -> GE2(x, y)
GE2(O1(x), I1(y)) -> GE2(y, x)
+12(x, +2(y, z)) -> +12(x, y)
WB11(N3(x, l, r)) -> SIZE1(l)
WB11(N3(x, l, r)) -> WB11(r)
-12(I1(x), I1(y)) -> -12(x, y)
LOG'1(O1(x)) -> LOG'1(x)
-12(I1(x), O1(y)) -> -12(x, y)
+12(I1(x), I1(y)) -> O11(+2(+2(x, y), I1(0)))
-12(O1(x), I1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
SIZE1(N3(x, l, r)) -> +12(+2(Size1(l), Size1(r)), I1(1))
WB11(N3(x, l, r)) -> AND2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
BS11(N3(x, l, r)) -> BS11(l)
WB11(N3(x, l, r)) -> -12(Size1(r), Size1(l))
WB11(N3(x, l, r)) -> -12(Size1(l), Size1(r))
BS11(N3(x, l, r)) -> GE2(Min1(r), x)
SIZE1(N3(x, l, r)) -> SIZE1(r)
LOG'1(I1(x)) -> +12(Log'1(x), I1(0))
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
WB11(N3(x, l, r)) -> IF3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l))))
GE2(O1(x), I1(y)) -> NOT1(ge2(y, x))
WB11(N3(x, l, r)) -> GE2(I1(0), -2(Size1(r), Size1(l)))
WB11(N3(x, l, r)) -> GE2(I1(0), -2(Size1(l), Size1(r)))
LOG'1(O1(x)) -> GE2(x, I1(0))
LOG1(x) -> -12(Log'1(x), I1(0))
BS11(N3(x, l, r)) -> BS11(r)
LOG1(x) -> LOG'1(x)
BS11(N3(x, l, r)) -> AND2(BS1(l), BS1(r))
BS11(N3(x, l, r)) -> AND2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
+12(O1(x), O1(y)) -> O11(+2(x, y))
BS11(N3(x, l, r)) -> MIN1(r)
GE2(O1(x), O1(y)) -> GE2(x, y)
+12(I1(x), I1(y)) -> +12(x, y)
WB11(N3(x, l, r)) -> WB11(l)
WB11(N3(x, l, r)) -> SIZE1(r)
BS11(N3(x, l, r)) -> GE2(x, Max1(l))
LOG'1(O1(x)) -> IF3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
-12(O1(x), O1(y)) -> O11(-2(x, y))
MAX1(N3(x, l, r)) -> MAX1(r)
LOG'1(I1(x)) -> LOG'1(x)
MIN1(N3(x, l, r)) -> MIN1(l)
+12(O1(x), O1(y)) -> +12(x, y)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
-12(I1(x), I1(y)) -> O11(-2(x, y))
SIZE1(N3(x, l, r)) -> +12(Size1(l), Size1(r))
+12(O1(x), I1(y)) -> +12(x, y)
+12(I1(x), O1(y)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
BS11(N3(x, l, r)) -> AND2(ge2(x, Max1(l)), ge2(Min1(r), x))
BS11(N3(x, l, r)) -> MAX1(l)
WB11(N3(x, l, r)) -> GE2(Size1(l), Size1(r))
GE2(0, O1(x)) -> GE2(0, x)
SIZE1(N3(x, l, r)) -> SIZE1(l)
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
WB11(N3(x, l, r)) -> AND2(WB1(l), WB1(r))
GE2(I1(x), I1(y)) -> GE2(x, y)
LOG'1(O1(x)) -> +12(Log'1(x), I1(0))
GE2(I1(x), O1(y)) -> GE2(x, y)
GE2(O1(x), I1(y)) -> GE2(y, x)
+12(x, +2(y, z)) -> +12(x, y)
WB11(N3(x, l, r)) -> SIZE1(l)
WB11(N3(x, l, r)) -> WB11(r)
-12(I1(x), I1(y)) -> -12(x, y)
LOG'1(O1(x)) -> LOG'1(x)
-12(I1(x), O1(y)) -> -12(x, y)
+12(I1(x), I1(y)) -> O11(+2(+2(x, y), I1(0)))
-12(O1(x), I1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
SIZE1(N3(x, l, r)) -> +12(+2(Size1(l), Size1(r)), I1(1))
WB11(N3(x, l, r)) -> AND2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
BS11(N3(x, l, r)) -> BS11(l)
WB11(N3(x, l, r)) -> -12(Size1(r), Size1(l))
WB11(N3(x, l, r)) -> -12(Size1(l), Size1(r))
BS11(N3(x, l, r)) -> GE2(Min1(r), x)
SIZE1(N3(x, l, r)) -> SIZE1(r)
LOG'1(I1(x)) -> +12(Log'1(x), I1(0))
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
WB11(N3(x, l, r)) -> IF3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l))))
GE2(O1(x), I1(y)) -> NOT1(ge2(y, x))
WB11(N3(x, l, r)) -> GE2(I1(0), -2(Size1(r), Size1(l)))
WB11(N3(x, l, r)) -> GE2(I1(0), -2(Size1(l), Size1(r)))
LOG'1(O1(x)) -> GE2(x, I1(0))
LOG1(x) -> -12(Log'1(x), I1(0))
BS11(N3(x, l, r)) -> BS11(r)
LOG1(x) -> LOG'1(x)
BS11(N3(x, l, r)) -> AND2(BS1(l), BS1(r))
BS11(N3(x, l, r)) -> AND2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
+12(O1(x), O1(y)) -> O11(+2(x, y))
BS11(N3(x, l, r)) -> MIN1(r)
GE2(O1(x), O1(y)) -> GE2(x, y)
+12(I1(x), I1(y)) -> +12(x, y)
WB11(N3(x, l, r)) -> WB11(l)
WB11(N3(x, l, r)) -> SIZE1(r)
BS11(N3(x, l, r)) -> GE2(x, Max1(l))
LOG'1(O1(x)) -> IF3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
-12(O1(x), O1(y)) -> O11(-2(x, y))
MAX1(N3(x, l, r)) -> MAX1(r)
LOG'1(I1(x)) -> LOG'1(x)
MIN1(N3(x, l, r)) -> MIN1(l)
+12(O1(x), O1(y)) -> +12(x, y)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GE2(0, O1(x)) -> GE2(0, x)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
GE2(0, O1(x)) -> GE2(0, x)
POL( GE2(x1, x2) ) = max{0, x2 - 2}
POL( O1(x1) ) = x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
GE2(I1(x), I1(y)) -> GE2(x, y)
GE2(I1(x), O1(y)) -> GE2(x, y)
GE2(O1(x), I1(y)) -> GE2(y, x)
GE2(O1(x), O1(y)) -> GE2(x, y)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
GE2(I1(x), I1(y)) -> GE2(x, y)
GE2(I1(x), O1(y)) -> GE2(x, y)
GE2(O1(x), I1(y)) -> GE2(y, x)
GE2(O1(x), O1(y)) -> GE2(x, y)
POL( GE2(x1, x2) ) = max{0, x1 + x2 - 3}
POL( I1(x1) ) = x1 + 2
POL( O1(x1) ) = x1 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
-12(I1(x), I1(y)) -> -12(x, y)
-12(I1(x), O1(y)) -> -12(x, y)
-12(O1(x), I1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
-12(I1(x), I1(y)) -> -12(x, y)
-12(O1(x), I1(y)) -> -12(x, y)
Used ordering: Polynomial Order [17,21] with Interpretation:
-12(I1(x), O1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
POL( -12(x1, x2) ) = max{0, x2 - 2}
POL( I1(x1) ) = x1 + 3
POL( O1(x1) ) = x1
POL( 1 ) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
-12(I1(x), O1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
-12(O1(x), I1(y)) -> -12(-2(x, y), I1(1))
POL( -12(x1, x2) ) = max{0, x1 - 2}
POL( O1(x1) ) = x1 + 3
POL( -2(x1, x2) ) = x1
POL( I1(x1) ) = x1 + 3
POL( 0 ) = 0
-2(0, x) -> 0
-2(I1(x), I1(y)) -> O1(-2(x, y))
-2(x, 0) -> x
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(O1(x), O1(y)) -> O1(-2(x, y))
O1(0) -> 0
-2(I1(x), O1(y)) -> I1(-2(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
-12(I1(x), O1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
-12(I1(x), O1(y)) -> -12(x, y)
-12(O1(x), O1(y)) -> -12(x, y)
POL( -12(x1, x2) ) = max{0, x2 - 2}
POL( O1(x1) ) = x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
+12(I1(x), O1(y)) -> +12(x, y)
+12(O1(x), I1(y)) -> +12(x, y)
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
+12(x, +2(y, z)) -> +12(x, y)
+12(I1(x), I1(y)) -> +12(x, y)
+12(O1(x), O1(y)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+12(I1(x), O1(y)) -> +12(x, y)
+12(O1(x), O1(y)) -> +12(x, y)
Used ordering: Polynomial Order [17,21] with Interpretation:
+12(O1(x), I1(y)) -> +12(x, y)
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
+12(x, +2(y, z)) -> +12(x, y)
+12(I1(x), I1(y)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
POL( +12(x1, x2) ) = max{0, x2 - 2}
POL( O1(x1) ) = x1 + 3
POL( I1(x1) ) = x1
POL( 0 ) = 2
POL( +2(x1, x2) ) = x1 + x2 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
+12(O1(x), I1(y)) -> +12(x, y)
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
+12(I1(x), I1(y)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+12(O1(x), I1(y)) -> +12(x, y)
+12(I1(x), I1(y)) -> +12(x, y)
Used ordering: Polynomial Order [17,21] with Interpretation:
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
+12(x, +2(y, z)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
POL( +12(x1, x2) ) = max{0, x2 - 2}
POL( I1(x1) ) = x1 + 3
POL( 0 ) = 0
POL( +2(x1, x2) ) = x1 + x2 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
+12(x, +2(y, z)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+12(I1(x), I1(y)) -> +12(+2(x, y), I1(0))
POL( +12(x1, x2) ) = max{0, x1 + x2 - 3}
POL( I1(x1) ) = x1 + 2
POL( +2(x1, x2) ) = x1 + x2
POL( 0 ) = 0
POL( O1(x1) ) = x1
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(0, x) -> x
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(x, 0) -> x
O1(0) -> 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
+12(x, +2(y, z)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+12(x, +2(y, z)) -> +12(x, y)
+12(x, +2(y, z)) -> +12(+2(x, y), z)
POL( +12(x1, x2) ) = max{0, x2 - 2}
POL( +2(x1, x2) ) = x1 + x2 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
LOG'1(O1(x)) -> LOG'1(x)
LOG'1(I1(x)) -> LOG'1(x)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LOG'1(O1(x)) -> LOG'1(x)
Used ordering: Polynomial Order [17,21] with Interpretation:
LOG'1(I1(x)) -> LOG'1(x)
POL( LOG'1(x1) ) = max{0, x1 - 2}
POL( O1(x1) ) = x1 + 3
POL( I1(x1) ) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
LOG'1(I1(x)) -> LOG'1(x)
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LOG'1(I1(x)) -> LOG'1(x)
POL( LOG'1(x1) ) = max{0, x1 - 2}
POL( I1(x1) ) = x1 + 3
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
O1(0) -> 0
+2(0, x) -> x
+2(x, 0) -> x
+2(O1(x), O1(y)) -> O1(+2(x, y))
+2(O1(x), I1(y)) -> I1(+2(x, y))
+2(I1(x), O1(y)) -> I1(+2(x, y))
+2(I1(x), I1(y)) -> O1(+2(+2(x, y), I1(0)))
+2(x, +2(y, z)) -> +2(+2(x, y), z)
-2(x, 0) -> x
-2(0, x) -> 0
-2(O1(x), O1(y)) -> O1(-2(x, y))
-2(O1(x), I1(y)) -> I1(-2(-2(x, y), I1(1)))
-2(I1(x), O1(y)) -> I1(-2(x, y))
-2(I1(x), I1(y)) -> O1(-2(x, y))
not1(true) -> false
not1(false) -> true
and2(x, true) -> x
and2(x, false) -> false
if3(true, x, y) -> x
if3(false, x, y) -> y
ge2(O1(x), O1(y)) -> ge2(x, y)
ge2(O1(x), I1(y)) -> not1(ge2(y, x))
ge2(I1(x), O1(y)) -> ge2(x, y)
ge2(I1(x), I1(y)) -> ge2(x, y)
ge2(x, 0) -> true
ge2(0, O1(x)) -> ge2(0, x)
ge2(0, I1(x)) -> false
Log'1(0) -> 0
Log'1(I1(x)) -> +2(Log'1(x), I1(0))
Log'1(O1(x)) -> if3(ge2(x, I1(0)), +2(Log'1(x), I1(0)), 0)
Log1(x) -> -2(Log'1(x), I1(0))
Val1(L1(x)) -> x
Val1(N3(x, l, r)) -> x
Min1(L1(x)) -> x
Min1(N3(x, l, r)) -> Min1(l)
Max1(L1(x)) -> x
Max1(N3(x, l, r)) -> Max1(r)
BS1(L1(x)) -> true
BS1(N3(x, l, r)) -> and2(and2(ge2(x, Max1(l)), ge2(Min1(r), x)), and2(BS1(l), BS1(r)))
Size1(L1(x)) -> I1(0)
Size1(N3(x, l, r)) -> +2(+2(Size1(l), Size1(r)), I1(1))
WB1(L1(x)) -> true
WB1(N3(x, l, r)) -> and2(if3(ge2(Size1(l), Size1(r)), ge2(I1(0), -2(Size1(l), Size1(r))), ge2(I1(0), -2(Size1(r), Size1(l)))), and2(WB1(l), WB1(r)))